2015/01/11

QGISでプラネタリウムを作れるか試してみた

きっかけ

天体観測関係の調べものをしてて、ふと思った。
天体の座標は「赤経」「赤緯」という座標で表すのですが、これは地球上の座標が緯度・経度で表されるのに似てます。緯度経度は
  • 緯度は赤道が0°で北がプラスで ±90°の範囲。
  • 経度はグリニッジ天文台を通る子午線が0°で東回りがプラスで±180°の範囲。

なのに対して赤経・赤緯は
  • 赤緯は「天の赤道」が0°で天の北極方向がプラスで ±90°の範囲。
  • 赤経は「春分点の方角」が0”時”で東回りがプラスで0時から24時まで。地上の経度が度・分・秒なのに対して時・分・秒で表す

では、赤経・赤緯を無理やり緯度・経度に読み替えると、天体の表示にGIS(地理情報システム)が使えるのでは??

という思い付きで、QGISでプラネタリウムを作ってみる!というネタです。


年末だったらFOSS4Gアドベントカレンダー2014に参加したいところやったのですが(^^;)、年が明けてしまったので単独エントリ(><)

QGIS


オープンソースGISの一つにQGISという初心者でも使いやすいGISソフトウェアがあるので、これを使うことにする。(QGISはここから無料でダウンロードできます



まずはデータ


星の座標データは「ヒッパルコス星表」から取ってきます。これはESA(ヨーロッパ宇宙機関)の人工衛星が作った全天の正確な星表で、NASAのサイトからダウンロードできます。

とりあえずこのサイトを参考にさせて頂いてダウンロードして、
赤緯→緯度
赤経→経度
にしてQGISでプロットしてるとこうなりました。。。。
この時点でちょっとやる気喪失。。。。。。。


とりあえず宇宙なのでバックグラウンドを黒にしてみる。

これでは訳が分からないので、都会の夜空程度、3等星並に絞ってみる。

ちなみに

  • 肉眼で見える限界は6等星
  • 1等星(以上)は21個
  • 一番明るいのはオオイヌ座のシリウス(-1.5等星)


赤で囲んだ所になんとなく見覚えのある配置が。。。拡大すると。。。。


こちら↓は本物のオリオン座


左右が・・・・逆!!


赤経・赤緯は「天球」に星を投影したものを「内側」から見てる。

これに対して、GISで使う座標は外側から「地球」を見たもの。

というわけで、必要なのは、



「地底人の視点」の投影! 

だけど、、、そんな投影はたぶん無いので、、、単純に経度を反転!

経度 *= -1 ;



というわけで、めでたくオリオン座完成!


星の色

ヒッパルコス衛星のデータは衛星画像のように5つの周波数で観測している。
RGBのデータが無い!!


で、星の色は理論的には表面温度によって決まる。
星表のデータ → 表面温度 → 色を算出

とできる(らしい)。

詳しく書いたサイトもあるけど、、、これを実装する気力もなかったので、「B-Vインデックス」という項目から、このサイトのデータを使って一番近い色にする。

一等星のサイズを大きくして色を確認。ちょっと違うけど、、、、、まあこんなもんかな。



星の明るさ

星の等級に応じて星の直径を変えてみたが、、、


昭和のプラネタリウムっぽい画に。。。。。。(シリウスがでかい)



もっとリアルな感じがいいので、工夫してみる。

大きさではなくて、暗さに応じて透過度を薄くしてみるも、カオス状態に。。。



そこで、、、
  • 大きさと透過度の両方で制御する。
  • 明るさの等級は5等級上がると1/100になる対数なので、ちゃんと計算して透過度と直径を設定
  • 明るい星は「光ってる感じ」を出すため、5等星までの明るい星はSVGアイコンにした 
  • あとは微調整

完成

これでかなり本物の星空っぽくなりました。
部屋を真っ暗にして、全画面で開くとそれっぽく見えます(^^)



これはオリオン座近辺、冬の大三角形とその周辺



これは全天




おまけ

上の全天画像を見て分かる通り、このままでは「メルカトル図法」になってしまってる。
高緯度地域を見てみると歪んでいる。
これはオリオン座(天の赤道付近なので歪んでない)、カシオペア座、北斗七星の線をプロットしたもの。
ごらんの通り、かなり歪んでる。北斗七星は「日付変更線(^^;)」を挟んでいるので、、、、




ここで、@picaosgeoさん、@kochizufanさん、@wata909さんにいろいろ教えて頂いて、投影法変換。
試行錯誤の末、正射図法が一番見た目のイメージに近いことがわかった。



これで北斗七星、カシオペアを描くと見た目に近くなりました。



今後


今後はGoogleEarthみたいな3D系のGISに入れてみて、ぐりぐり動くようにしてみたいなあ。


おわり

追記
緯度経度に直した座標と、等級、RGBに直した色データのCSVを置いときます。